class Vehicle(object):
    #类的私有变量轮子默认为4，车重默认为1000
    __wheels=4
    __weight=1000
    #获取类私有变量的函数
    def getWheels(self):
        return self.__wheels
    def getWeight(self):
        return self.__weight
    #设置类私有变量的函数
    def setWheels(self,wheels):
        self.__wheels=wheels
    def setWeight(self,weights):
        self.__weight=weights
    #用于展示的函数
    def display(self):
        print("{: >4}：{: >5}：{} 个，车重：{} 千克".format("汽车类","车轮数为",self.__wheels,self.__weight))
#小汽车类继承车类
class Car(Vehicle):
    #默认载客4人
    passenger_load=4
    # #构造函数，只修改载客数，无法访问父类的私有变量
    # def __init__(self,passenger_load):
    #     self.passenger_load=passenger_load
    #通过父类的方法访问父类的私有变量
    def display(self):
        print("{: >4}：车轮数为：{} 个，车重：{} 千克 载客数：{} 人".format("小汽车类",self.getWheels(),self.getWeight(),self.passenger_load))

#卡车类继承车类
class Truck(Vehicle):
    #卡车类变量，默认载客两人，载重500千克
    passenger_load=2
    payload=500
    # def __init__(self,passenger_load,payload):
    #     self.passenger_load=passenger_load
    #     self.payload=payload
    # 通过父类的方法访问父类的私有变量
    def display(self):
        print("{: >4}：{: >5}：{} 个，车重：{} 千克 载客量：{} 人 载重数：{} 千克".format("卡车类","车轮数为",self.getWheels(), self.getWeight(), self.passenger_load,self.payload))
def main():
    #定义汽车类的对象,设置
    v=Vehicle()
    v.display()
    #修改汽车类的车轮数和车重
    v.setWheels(2)
    v.setWeight(800)
    v.display()
    #定义小汽车类的对象
    c=Car()
    c.display()
    #定义卡车类的对象
    t=Truck()
    t.display()
    #修改卡车类的相关参数，验证是否继承父类中的函数
    t.setWeight(2000)
    t.setWheels(6)
    t.display()

if __name__ == '__main__':
    main()
